草庐IT

c++ - SIMD C++ 库

全部标签

java - 在 Android 上用异常替换 JNI 崩溃

这个问题在这里已经有了答案:ARTpreventsanyJavacallsfromJNIduringnativesignalhandling(1个回答)关闭4年前。我开发了一个使用nativeC库的Android应用程序。我可以使用JNI成功地编译整个东西,并且一切顺利。但是,nativeC库有时会崩溃(最常见的是SIGSEGV)。反过来,这会导致我的应用程序崩溃,而不会向用户发出任何有意义的通知。我想要实现的是:使用信号处理程序(sigaction)在native代码中捕获信号以防止随机崩溃在C库中抛出Java可以捕获的异常在Java中捕获异常,为用户生成有意义的警告消息并保持应用运

android - 两次调用 ffmpeg.c 导致应用程序崩溃时出现问题?

我正在尝试调用ffmpeg.c来修剪基于此代码'video-trimmer'的视频。因此,当我第一次尝试运行Activity(加载并使用native库)时,我单击trin它可以工作并且我可以修剪视频但是当我再次尝试运行它时它崩溃了(并且它只适用于应用程序重新启动).所以我花了三天时间寻找这个问题的解决方案,大多数答案都说ffmpeg.c中的静态变量存在问题,并创建一个加载和卸载类的库修复了这个问题(answer1,answer2)。所以我尝试在视频修剪器项目上应用基于答案和thisgithubrepo的解决方案,但我的所有尝试都失败了。有没有人知道'video-trimmer'项目的一

android - OPEN GL ES 和 EGL 库之间的混淆

我正在阅读android源代码,因为我没有了解OPENGLES库的作用以及EGL库的作用。?这两个库有什么关系吗?我看过http://www.khronos.org/opengles/documentation/opengles1_0/html/但仍然没有得到。 最佳答案 EGL是OpenGLES和底层原生显示平台之间的接口(interface)。它用于创建和管理渲染表面和图形上下文。 关于android-OPENGLES和EGL库之间的混淆,我们在StackOverflow上找到一个类

java - 托管语言是否锁定刷新并重新加载 native 库的变量?

当我们在C#和Java等托管语言中使用锁时,我们始终可以确保我们处理的是最新数据。特别是在Java内存模型中,它们有一种称为先发生关系的保证。但我不确定原生库会发生什么情况。比如说,我有这样的C函数:staticintsharedData;//I'mnotdeclaringthisasvolatileonpurposehere.voidsetData(intdata){sharedData=data;//Notusinganymutexorthelike.}intgetData(){returnsharedData;}我也有像这样的C#代码://Thread1while(true)lo

c++ - 从 RGB 值数组中切出平面(就地)的算法

我有一个字节RGB值的平面数组,它是R1G1B1R2G2B2R3G3B3...RnGnBn。所以我的数据看起来像:charimageData[WIDTH*HEIGHT*3];但我想将WIDTH*HEIGHT数组传递给现有的C库,该库需要此数据的单个平面。那将是一个仅包含R值(或仅是G,或仅是B)的序列。分配新数组和复制数据非常简单(呃)。但是图像非常大。如果它不是C库而是采用某种迭代接口(interface)来巧妙地进行“切片”遍历,那就太好了。但是我无法编辑正在调用的代码...它需要一个指向顺序内存块的普通旧指针。但是我有这个数组的写权限。创建一个将其分类为颜色平面的例程是可行的。我

c++ - 对 WinRT 接口(interface)的动态调用

我想从C或C++对WinRT对象进行动态(即基于反射)调用。我将假设我在运行时有可用的winmd文件,这样我就可以找出这些方法是什么以及它们采用什么参数。在OLE自动化中,IDispatch随后可用于进行实际调用。但是,WinRT对象不支持IDispatch。我怎样才能打电话?根据处理器的COM调用约定,我是否需要某种允许动态传递参数的FFI库?或者我真的需要“静态”类/结构声明(对于C/C++)吗?编辑:目标系统是一个metro风格的应用程序。这排除了涉及禁用API的解决方案。 最佳答案 当然可以构建您所描述的内容-在幕后,这正是

c++ - 如何在没有 Objective-C 的情况下创建 NSAutoreleasePool?

我有一个用C++编写的多平台游戏。在mac版本中,即使我没有任何obj-c代码,我使用的库之一似乎是自动释放的东西,而且我会因此发生内存泄漏,因为我没有创建NSAutoreleasePool。我想要的是能够在不使用obj-c代码的情况下创建(和销毁)NSAutoreleasePool,因此我不需要创建.m文件,也不需要为此更改我的构建脚本。那可能吗?怎么办?OBS:标记为C和C++,因为任何这些语言的解决方案都可以。 最佳答案 您无法避免实例化Objective-C运行时—但显然您已经拥有了其中之一。如果您想与C的运行时交互,您可以

c++ - 使用 GNU 科学库 (GSL) 使用不均匀分布的点绘制 2D B 样条路径

我正在尝试使用GNU科学库(GSL)绘制从A到B的平滑路径。我使用的API返回少量(在本例中为8个)不规则间隔的点(红色)),您可以在下图中看到:紫色点代表我希望看到从GSL返回的点。首先,这种2DB-Spline形状可以用GSL得到吗?我不太了解B样条曲线,更不用说2DB样条曲线了。我能够获得显示的B样条曲线示例here运行并创建一个流畅的.ps文件没有问题,但该示例使用带有以下代码的统一断点:/*useuniformbreakpointson[0,15]*/gsl_bspline_knots_uniform(0.0,15.0,bw);在我的例子中,鉴于我提供的数据不稳定且间隔不均匀

c++ - 使用 ffmpeg 从网络摄像头捕获帧和从 micro 捕获音频并保存到文件

在过去的几周里,我一直在努力使用ffmpegAPI,因为我找不到明确的文档,而且我也发现很难搜索,因为我在网上找到的所有解决方案都涉及ffmpeg.c而不是cAPI命令行程序。我正在创建一个程序,它需要从网络摄像头和音频中捕获视频,在屏幕上显示帧并将音频和帧记录到视频文件中。我也在使用QT作为这个项目的框架。我已经能够在屏幕上显示帧甚至记录它们,但我的问题是音频和视频的记录。我决定创建一个更简单的测试程序,它只将流保存到文件而不在屏幕上显示帧,从remuxing.cexample开始在ffmpeg文档上。我的代码如下://Thisisthevariablesonthe.hAVOutpu

c++ - Axis/C MIME/DIME 和 MTOM 入门

我即将开始一些关于Axis/C的工作。我分别对C和Web服务有一个很好的了解。我对*nix也相当满意。有人能告诉我创建支持MIME/DIME和MTOM的Web服务与Axis/C相关的复杂性吗?Web服务将从Java和C++客户端调用。Axis/C在这方面是否有任何已知的限制?一般学习Axis/C和MTOM等的最佳起点是什么?特别支持。 最佳答案 就此而言,我建议不要使用ApacheAxis/C或Axis2c。这两个项目都缺乏积极的发展和成员的贡献。上一次Axis2c发布是在2009年,Axis/c发布页面链接甚至都不起作用。我开发了